Set Operations (Union, Intersect, Except)

Database Tutorials - অ্যাপাচি প্রেস্টো (Apache Presto) Advanced Presto Query Techniques |
228
228

Presto তে Set Operations হলো SQL কুয়েরিতে ব্যবহৃত অপারেশন, যা দুটি বা তার বেশি সিলেক্ট অ্যাকশনের মধ্যে সেট থিওরি ব্যবহার করে ডেটার মিল বা পার্থক্য নির্ধারণ করে। প্রধান তিনটি সেট অপারেশন হলো UNION, INTERSECT, এবং EXCEPT। প্রতিটি অপারেশন নির্দিষ্ট ধরনের ডেটা সংযুক্তি বা পার্থক্য প্রদর্শন করে।


১. UNION

UNION অপারেশন দুটি বা তার বেশি SQL কুয়েরির ফলাফলকে একত্রিত করে এবং ফলস্বরূপ ইউনিক (distinct) রেকর্ড প্রদান করে। যদি দুইটি সিলেক্ট স্টেটমেন্টের মধ্যে একাধিক সারি সমান হয়, তাহলে ঐ সারি কেবল একবার প্রদর্শিত হবে (distinct)।

Syntax:

SELECT column1, column2
FROM table1
UNION
SELECT column1, column2
FROM table2;
  • UNION অপারেশন দুটি বা তার বেশি সিলেক্ট স্টেটমেন্টের মধ্যে একই ধরনের ডেটা (একই কলাম সংখ্যা এবং ডেটা টাইপ) আশা করে।
  • এটি ডুপ্লিকেট রেকর্ডগুলো বাদ দিয়ে ইউনিক রেকর্ড ফলস্বরূপ প্রদান করে।

Example:

SELECT employee_id, employee_name
FROM employees_2023
UNION
SELECT employee_id, employee_name
FROM employees_2024;

এই কুয়েরিটি employees_2023 এবং employees_2024 টেবিল থেকে ইউনিক employee_id এবং employee_name ফেরত দেবে। যেগুলি যেকোনো ধরনের ডুপ্লিকেট ফলস্বরূপ থাকলে সেগুলি বাদ দেওয়া হবে।


২. UNION ALL

UNION ALL অপারেশন UNION এর মতোই, তবে এটি ডুপ্লিকেট রেকর্ডকেও অন্তর্ভুক্ত করে, অর্থাৎ দুটি বা তার বেশি সিলেক্ট স্টেটমেন্টের ফলাফল একত্রিত হবে, এবং কোনও ডুপ্লিকেট রেকর্ড বাদ দেওয়া হবে না।

Syntax:

SELECT column1, column2
FROM table1
UNION ALL
SELECT column1, column2
FROM table2;
  • UNION ALL সমস্ত রেকর্ড, যার মধ্যে ডুপ্লিকেট রেকর্ডও থাকবে, যুক্ত করে।

Example:

SELECT employee_id, employee_name
FROM employees_2023
UNION ALL
SELECT employee_id, employee_name
FROM employees_2024;

এই কুয়েরিটি employees_2023 এবং employees_2024 টেবিলের সমস্ত রেকর্ড (ডুপ্লিকেট সহ) একত্রিত করবে।


৩. INTERSECT

INTERSECT অপারেশন দুটি বা তার বেশি SQL কুয়েরির মধ্যে কমন রেকর্ড বা মিল খুঁজে বের করে। অর্থাৎ, এটি কেবলমাত্র সেই রেকর্ডগুলো ফেরত দেয় যা সমস্ত সিলেক্ট স্টেটমেন্টে উপস্থিত থাকে।

Syntax:

SELECT column1, column2
FROM table1
INTERSECT
SELECT column1, column2
FROM table2;
  • INTERSECT অপারেশন দুটি কুয়েরির মধ্যে মিলিত রেকর্ডগুলো ফেরত দেয়, এবং ডুপ্লিকেট রেকর্ড বাদ দেয়।

Example:

SELECT employee_id, employee_name
FROM employees_2023
INTERSECT
SELECT employee_id, employee_name
FROM employees_2024;

এই কুয়েরিটি শুধুমাত্র সেই employee_id এবং employee_name রেকর্ডগুলি ফেরত দেবে যা employees_2023 এবং employees_2024 উভয় টেবিলে উপস্থিত রয়েছে।


৪. EXCEPT

EXCEPT অপারেশন দুটি কুয়েরির মধ্যে পার্থক্য খুঁজে বের করে, অর্থাৎ এটি প্রথম কুয়েরির সমস্ত রেকর্ড ফেরত দেয় যেগুলি দ্বিতীয় কুয়েরিতে উপস্থিত নেই। এটি MINUS হিসেবেও পরিচিত।

Syntax:

SELECT column1, column2
FROM table1
EXCEPT
SELECT column1, column2
FROM table2;
  • EXCEPT অপারেশন প্রথম কুয়েরির সমস্ত রেকর্ড ফেরত দেয় যা দ্বিতীয় কুয়েরির মধ্যে নেই, এবং ডুপ্লিকেট রেকর্ডগুলো বাদ দেয়।

Example:

SELECT employee_id, employee_name
FROM employees_2023
EXCEPT
SELECT employee_id, employee_name
FROM employees_2024;

এই কুয়েরিটি শুধুমাত্র সেই employee_id এবং employee_name রেকর্ডগুলো ফেরত দেবে যা employees_2023 টেবিলে আছে কিন্তু employees_2024 টেবিলে নেই।


সারাংশ:

  • UNION: দুটি বা তার বেশি সিলেক্ট স্টেটমেন্টের ইউনিক রেকর্ড একত্রিত করে।
  • UNION ALL: দুটি বা তার বেশি সিলেক্ট স্টেটমেন্টের সমস্ত রেকর্ড একত্রিত করে, যার মধ্যে ডুপ্লিকেটও থাকে।
  • INTERSECT: দুটি সিলেক্ট স্টেটমেন্টের মিলিত রেকর্ডগুলো ফেরত দেয়।
  • EXCEPT: প্রথম কুয়েরির সমস্ত রেকর্ড ফেরত দেয় যা দ্বিতীয় কুয়েরির মধ্যে নেই।

এই Set Operations গুলি SQL কোয়েরির মধ্যে ডেটা সংযোগ, পার্থক্য, এবং মিল খুঁজে বের করার জন্য শক্তিশালী টুল হিসেবে ব্যবহৃত হয়।

Content added By
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion
;